With the steady development of communication technologies, data network line speed has increased gradually from 100 Mbps to 1 Gbps, 10 Gbps and 40 Gbps. As the line speed increases, the operating speeds of data processing devices in communication networks are required to increase correspondingly. FIG. 1 shows a typical data processing procedure including flow classification (Block 110), traffic policing (Block 120), output port searching (Block 130) and output scheduling (Block 140), etc., each having to process packet by packet, thus imposing a heavy burden on the data processing devices if data packet traffic comes with a quite high speed.
As described above, all of the existing data processing devices process the data from line cards on a packet basis. The length of the data packets is unpredictable. For example, a minimum packet length of 64 bytes is defined in an Ethernet network. Generally, data processing devices are designed to be able to forward a minimum packet length at a line speed. For example, for a 10 G line card, if the packet length is 64 bytes, the time needed to perform a table lookup is 64*8 bit/10 Gbps, i.e. about 50 ns; for a 40 G line card, the time needed to perform a table lookup is 12.5 ns; and for a 100 G line card, the time needed to perform a table lookup is 5 ns. In other words, processing data on a packet basis imposes a heavy burden on the data processing devices.
Although the time needed to perform a table lookup can be reduced by increasing the access speed of storage devices, high-speed storage devices result in the increasing cost and power consumption of the data processing devices. As a result, the cost of data network systems increases.